package com.zyn.rsgl.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 薪资表
 * </p>
 *
 * @author zcs
 * @since 2025-02-10
 */
@Data
@TableName("salary")
public class Salary implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private String id;

    /**
     * 员工id
     */
    @TableField("user_id")
    private String userId;

    /**
     * 职位名称
     */
    @TableField("position_name")
    private String positionName;

    /**
     * 基本工资
     */
    @TableField("base_salary")
    private BigDecimal baseSalary;

    /**
     * 奖金
     */
    @TableField("bonus")
    private BigDecimal bonus;

    /**
     * 社保缴费
     */
    @TableField("social_security_contribution")
    private BigDecimal socialSecurityContribution;

    /**
     * 个税缴费
     */
    @TableField("individual_income_tax")
    private BigDecimal individualIncomeTax;

    /**
     * 薪资发放日期
     */
    @TableField("salary_payment_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime salaryPaymentDate;

    /**
     * 创建时间
     */
    @TableField("created_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updatedAt;


}
